The number of software applications that are used on computing devices, including personal computers, tables and smartphones (commonly referred herein as “computers”), is increasing today with a staggering rate. When a software application deployed on a computer receives or opens a computer file, the computer can often become vulnerable to attack by malicious software. Malicious software, or “malware,” can include viruses, Trojan horses, spyware, worms, bots, and the like, developed by hackers. Since malware continues to cause many problems for computers and their users, many efforts have been made to develop sophisticated antivirus applications to protect against malware.
One problem is that antivirus applications typically scans every suspicious file on the computer, and hence the application may consume a significant proportion of the computer's resources. However, because the severity of potential damage that malware may cause, the computer system often provides little choice other than to divert resources for running the antivirus application away from other applications executing on the computer.
The drain on the resources of the computer is not limited to the period of time immediately following a new software file's introduction to the computer, when the software is initially scanned. Resources are needed for subsequent scans of the file, which is rescanned because antivirus applications are regularly updated to enable them to protect against newly-discovered malware. That is, certain files initially determined to be free of malware may later be determined to contain malware after being rescanned by the updated antivirus application. Thus, resources for multiple scans are needed to improve the quality of the protection against malware.
Unfortunately, malware continues to become more sophisticated and more dangerous for computers and their users. Thus, antivirus applications require more of the computer resources to operate effectively. Accordingly, it would be desirable under the present circumstances to provide a system that can create rules or criteria to restrict the permission for software applications to open computer files under certain conditions in order to limit the amount of computer resources used to protect against possible malware.